package com.yfp.machine.service;

import com.yfp.common.core.domain.R;
import com.yfp.machine.domain.Machine;
import com.yfp.machine.domain.vo.CoordinateLimitSummaryVo;
import com.yfp.machine.domain.vo.CoordinateSearchLimitNameVo;
import com.yfp.machine.domain.vo.FilterDeviceInfoVo;
import com.yfp.machine.domain.vo.SearchBasicInfoVo;

/**
 * 筛选设备基础数据
 *
 * 
 * @date 2023/12/18
 */
public interface AppletMachineService {
    /**
     * 筛选设备基础数据
     */
    R deviceLimitBasicInfo(FilterDeviceInfoVo filterDeviceInfoVo);

    /**
     * 获取设备点位类型
     */
    R positionTypeSearchBasicInfo(SearchBasicInfoVo searchBasicInfoVo);

    /**
     * 根据坐标点和距离返回设备信息
     */
    R deviceCoordinateLimitSummary(CoordinateLimitSummaryVo coordinateLimitSummaryVo);

    /**
     * 根据坐标点和距离以及搜索名称返回设备信息
     */
    R deviceCoordinateSearchLimitName(CoordinateSearchLimitNameVo coordinateLimitSummaryVo);

    /**
     * 根据设备id获取营业时间
     *
     * @param machineId 机器id
     * @return {@link R}
     */
    R getSaleTimeByMachineId(String machineId);

    /**
     * 按id获取机器
     *
     * @param machineId 机器id
     * @return {@link R}
     */

    Machine getMachineById(String machineId);
}
